Data warehousing tools, such as Oracle Business Intelligence Enterprise Edition (OBIEE), allow logical database schemas to be defined on top of physical database tables. Logical database schemas include patterns that illustrate relationships between underlying physical database tables. For example, it is possible to define star schemas that illustrate relationships between tables and to join tables that are logically related together.
Knowing relationships between underlying database tables is essential in efficiently retrieving data from a database. For example, in order to form database queries that provide meaningful results, it is necessary to specify in each query the tables to be searched and filter criteria for narrowing results to be presented from the combination of tables. Without knowledge of relationships between tables and the structure of data within tables, queries will produce results that are not meaningful to the end user.
A logical database schema defines table structures and relationships between tables in a way that is useful for efficient data retrieval. One possible way to define a logical database schema is to manually analyze the underlying database tables and metadata and build the logical schemas from the analysis. Such a manual process is tedious and can require hundreds of work hours, even for a database with a relatively small number of tables.
Accordingly, there exists a need for methods, systems, and computer readable media for automatic generation of logical database schemas from physical database tables and metadata.